<?php
namespace app\common\service;

use app\common\service\Base;

class TProject extends Base {

	/**
	 * 获取权限内的项目列表
	 *
	 * @author King
	 * @date 2020年8月24日
	 *
	 * @param integer $status		null全部，1进行中，2已完成
	 * @return array
	 */
	public function getList($status = null) {
		$where = [];
		if ($status === null) {
			$where[] = ['status', '<>',99];
		} else
			$where[] = ['status', '=', $status];
		if (!IS_ROOT) {
			//$where[] = ['id', 'in', db('t_project_user')->where('admin_id', ADMIN_ID)->distinct(true)->field('project_id')->column('project_id')];
		}
		return db('t_project')->where($where)->order('id asc')->column('name', 'id');
	}

	/**
	 * 增加项目成员
	 *
	 * @author 飞燕
	 * @date 2020年8月22日
	 *
	 * @param array $data
	 * @return boolean
	 */
	public function addPrejectUser($data) {
		return db('t_project_user')->insertAll($data);
	}

	/**
	 * 获取某个项目的成员列表
	 *
	 * @author 飞燕
	 * @date 2020年8月26日
	 *
	 * @param integer $projectId
	 * @param integer|array $type 0->全部，1创建人，2管理员，3普通成员，4只读成员
	 */
	public function getUsersByProjectId($projectId, $type = 0) {
		if (empty($projectId)) return 0;
		$where[] = ['project_id', '=', $projectId];
		if ($type) {
			$where[] = ['type', 'in', is_numeric($type)?[$type]:$type];
		}
		$adminIds = db('t_project_user')->where($where)->order('type asc,id asc')->column('admin_id');
		$result = [];
		$systemUserKV = getSystemUserKV(null);
		foreach ($adminIds as $adminId) {
			$result[$adminId] = arrayGet($systemUserKV, $adminId, '');
		}
		return $result;
	}

}

